package br.com.plurianual.model.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;


@Entity
@Table(name="indicador")
public class Indicador extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="idIndicador")
	private Integer id;
	
	@Column(name="codigoIndicador")
	private Integer codigo;
	
	@Column(name="descricaoIndicador")
	private String descricao;
	
	@Column(name="indiceRecente")
	private String indiceRecente;
	
	@Column(name="indice")
	private String indice;

	@Column(name="apuracao")
	private String apuracao;
	
	@JoinColumn(name="idPrograma")
	@ManyToOne(cascade = CascadeType.DETACH)
	private Programa programa;
	
	@Column(name="unidadeMedida")
	private String unidadeMedida;
	
	public String getUnidadeMedida() {
		return unidadeMedida;
	}

	public void setUnidadeMedida(String unidadeMedida) {
		this.unidadeMedida = unidadeMedida;
	}

	public String getFonte() {
		return fonte;
	}

	public void setFonte(String fonte) {
		this.fonte = fonte;
	}

	@Column(name="fonte")
	private String fonte;
	

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the codigo
	 */
	public Integer getCodigo() {
		return codigo;
	}

	/**
	 * @param codigo the codigo to set
	 */
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	/**
	 * @return the descricao
	 */
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao the descricao to set
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	/**
	 * @return the indiceRecente
	 */
	public String getIndiceRecente() {
		return indiceRecente;
	}

	/**
	 * @param indiceRecente the indiceRecente to set
	 */
	public void setIndiceRecente(String indiceRecente) {
		this.indiceRecente = indiceRecente;
	}

	/**
	 * @return the indice
	 */
	public String getIndice() {
		return indice;
	}

	/**
	 * @param indice the indice to set
	 */
	public void setIndice(String indice) {
		this.indice = indice;
	}

	/**
	 * @return the apuracao
	 */
	public String getApuracao() {
		return apuracao;
	}

	/**
	 * @param apuracao the apuracao to set
	 */
	public void setApuracao(String apuracao) {
		this.apuracao = apuracao;
	}

	/**
	 * @return the programa
	 */
	public Programa getPrograma() {
		return programa;
	}

	/**
	 * @param programa the programa to set
	 */
	public void setPrograma(Programa programa) {
		this.programa = programa;
	}
}
